import java.util.Scanner;
import java.util.Map;
import java.util.HashMap;
public class Main {
    /*给定一个整数数组 nums 和一个整数 k ，返回其中元素之和可被 k 整除的非空 子数组 的数目。
子数组 是数组中 连续 的部分。
输入：nums = [4,5,0,-2,-3,1], k = 5
输出：7
[0,4,9,9,7,4,5]
 */
    public static int seek(int[] nums,int k){
        int n=nums.length;
        int[] arr=new int[k];
        int sum=0;
        int count=0;
        arr[0]=1;//数组和为0
        for(int i=1;i<=n;i++){
            sum=sum+nums[i-1];//累加
            int temp=(sum%k+k)%k;
            count+=arr[temp];
            arr[temp]++;
        }
        return count;
    }
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] nums=new int[n];
        for(int i=0;i<n;i++){
            nums[i]=sc.nextInt();
        }
        int k=sc.nextInt();
        int count=seek(nums,k);
        System.out.println(count);
    }
}